package com.ssy.lingxi.after.sale.api.model.vo.response;

import java.io.Serializable;
import java.math.BigDecimal;

/**
 *  执行明细-查询退货单信息
 * @author ds
 * @date 2021/12/30
 * @version 2.0.0
 */
public class ReturnGoodsTaxVO implements Serializable {

    private static final long serialVersionUID = 765236615892587928L;

    public ReturnGoodsTaxVO() {
    }

    public ReturnGoodsTaxVO(Long orderId, Long skuId, Integer outerStatus, Integer hasTax, Double taxRate, Double price, Double refPrice, Double quantity) {
        this.orderId = orderId;
        this.skuId = skuId;
        this.outerStatus = outerStatus;
        this.outerStatusName = "";
        this.hasTax = !(hasTax==null||hasTax==0);
        this.taxRate = BigDecimal.valueOf(taxRate);
        this.amount = BigDecimal.valueOf(price).multiply(BigDecimal.valueOf(quantity));
        this.refAmount = BigDecimal.valueOf(refPrice).multiply(BigDecimal.valueOf(quantity));
    }

    /**
     * 订单Id
     */
    private Long orderId;

    /**
     * 商品SkuId
     */
    private Long skuId;

    /**
     * 订单外部状态枚举
     */
    private Integer outerStatus;

    /**
     * 订单外部状态名称
     */
    private String outerStatusName;

    /**
     * 是否含税
     */
    private Boolean hasTax;

    /**
     *  税率，（大于等于0小于等于1的小数，如无税率则为0）
     */
    private BigDecimal taxRate;

    /**
     * 商品单价 * 数量
     */
    private BigDecimal amount;

    /**
     * 到手价 * 数量
     */
    private BigDecimal refAmount;

    public Long getOrderId() {
        return orderId;
    }

    public void setOrderId(Long orderId) {
        this.orderId = orderId;
    }

    public Long getSkuId() {
        return skuId;
    }

    public void setSkuId(Long skuId) {
        this.skuId = skuId;
    }

    public Integer getOuterStatus() {
        return outerStatus;
    }

    public void setOuterStatus(Integer outerStatus) {
        this.outerStatus = outerStatus;
    }

    public String getOuterStatusName() {
        return outerStatusName;
    }

    public void setOuterStatusName(String outerStatusName) {
        this.outerStatusName = outerStatusName;
    }

    public Boolean getHasTax() {
        return hasTax;
    }

    public void setHasTax(Boolean hasTax) {
        this.hasTax = hasTax;
    }

    public BigDecimal getTaxRate() {
        return taxRate;
    }

    public void setTaxRate(BigDecimal taxRate) {
        this.taxRate = taxRate;
    }

    public BigDecimal getAmount() {
        return amount;
    }

    public void setAmount(BigDecimal amount) {
        this.amount = amount;
    }

    public BigDecimal getRefAmount() {
        return refAmount;
    }

    public void setRefAmount(BigDecimal refAmount) {
        this.refAmount = refAmount;
    }
}
